package com.hanthink.system.domain.manhour;

import java.text.SimpleDateFormat;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hanthink.common.annotation.Excel;
import com.hanthink.common.core.domain.BaseEntity;

/**
 * 用工计划数据填报对象 ProductionPlanInShift
 * 
 * @author hanthink
 * @date 2021-12-06
 */
public class ProductionPlanInShift extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 公司代码 */
    @Excel(name = "工厂代码")
    private String companyid;

    /** 计划开班日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划开班日期", width = 30,dateFormat = "yyyy-MM-dd")
    private Date planworkdatetime;

    /** 班次 */
    @Excel(name = "班次")
    private String pshiftid;

    /** 机台编号 */
    @Excel(name = "机台编号")
    private String machineid;

    /** 计划生产物料 */
    @Excel(name = "生产物料")
    private String materialid;


    /** 物料名称 */
    @Excel(name = "物料名称")
    private String materialname;

    /** 计划用工-技术人员数 */
    @Excel(name = "计划用工-技术人员数",type = Excel.Type.EXPORT,defaultValue = "0")
    private Float plantechworks;

    /** 计划用工-操作工人数 */
    @Excel(name = "计划用工-操作工人数",type = Excel.Type.EXPORT,defaultValue = "0")
    private Float planoperationworks;

    /** 实际用工-技术人员数 */
    @Excel(name = "实际用工-技术人员数",type = Excel.Type.EXPORT,defaultValue = "0")
    private Float facttechworks;

    /** 实际用工-操作工人数 */
    @Excel(name = "实际用工-操作工人数",type = Excel.Type.EXPORT,defaultValue = "0")
    private Float factoperationworks;

    /** 用工差异分类 */
    @Excel(name = "用工差异分类",type = Excel.Type.EXPORT,defaultValue = "")
    private String reasonsclassid;

    /** 用工差异分析 */
    @Excel(name = "用工差异分析",type = Excel.Type.EXPORT,defaultValue = "")
    private String reasons;

    /** 创建者 */
    @Excel(name = "创建者",type = Excel.Type.ALL,defaultValue = "admin")
    private String creator;

    /** 创建日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建日期", width = 30,type = Excel.Type.ALL ,dateFormat = "yyyy-MM-dd")
    private Date createdatetime;


    /** 修改日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改日期", width = 30, dateFormat = "yyyy-MM-dd",type = Excel.Type.EXPORT)
    private Date modifydatetime;

    /** 修改者 */
    @Excel(name = "修改者",type = Excel.Type.EXPORT)
    private String modifytor;

    /** $column.columnComment */
    @Excel(name = "实体ID" ,type = Excel.Type.EXPORT)
    private Long id;

    public void setPlanworkdatetime(Date planworkdatetime) 
    {
        this.planworkdatetime = planworkdatetime;
    }

    public Date getPlanworkdatetime() 
    {
        return planworkdatetime;
    }
    public void setPshiftid(String pshiftid) 
    {
        this.pshiftid = pshiftid;
    }

    public String getPshiftid() 
    {
        return pshiftid;
    }
    public void setMachineid(String machineid) 
    {
        this.machineid = machineid;
    }

    public String getMachineid() 
    {
        return machineid;
    }
    public void setMaterialid(String materialid) 
    {
        this.materialid = materialid;
    }

    public String getMaterialid() 
    {
        return materialid;
    }
    public void setCompanyid(String companyid) 
    {
        this.companyid = companyid;
    }

    public String getCompanyid() 
    {
        return companyid;
    }
    public void setMaterialname(String materialname) 
    {
        this.materialname = materialname;
    }

    public String getMaterialname() 
    {
        return materialname;
    }
    public void setPlantechworks(Float plantechworks)
    {
        this.plantechworks = plantechworks;
    }

    public Float getPlantechworks()
    {
        return plantechworks;
    }
    public void setPlanoperationworks(Float planoperationworks)
    {
        this.planoperationworks = planoperationworks;
    }

    public Float getPlanoperationworks()
    {
        return planoperationworks;
    }
    public void setFacttechworks(Float facttechworks)
    {
        this.facttechworks = facttechworks;
    }

    public Float getFacttechworks()
    {
        return facttechworks;
    }
    public void setFactoperationworks(Float factoperationworks)
    {
        this.factoperationworks = factoperationworks;
    }

    public Float getFactoperationworks()
    {
        return factoperationworks;
    }
    public void setReasonsclassid(String reasonsclassid) 
    {
        this.reasonsclassid = reasonsclassid;
    }

    public String getReasonsclassid() 
    {
        return reasonsclassid;
    }
    public void setReasons(String reasons) 
    {
        this.reasons = reasons;
    }

    public String getReasons() 
    {
        return reasons;
    }
    public void setCreatedatetime(Date createdatetime) 
    {
        this.createdatetime = createdatetime;
    }

    public Date getCreatedatetime() 
    {
        return createdatetime;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }
    public void setModifydatetime(Date modifydatetime) 
    {
        this.modifydatetime = modifydatetime;
    }

    public Date getModifydatetime() 
    {
        return modifydatetime;
    }
    public void setModifytor(String modifytor) 
    {
        this.modifytor = modifytor;
    }

    public String getModifytor() 
    {
        return modifytor;
    }
    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("planworkdatetime", getPlanworkdatetime())
            .append("pshiftid", getPshiftid())
            .append("machineid", getMachineid())
            .append("materialid", getMaterialid())
            .append("companyid", getCompanyid())
            .append("materialname", getMaterialname())
            .append("plantechworks", getPlantechworks())
            .append("planoperationworks", getPlanoperationworks())
            .append("facttechworks", getFacttechworks())
            .append("factoperationworks", getFactoperationworks())
            .append("reasonsclassid", getReasonsclassid())
            .append("reasons", getReasons())
            .append("createdatetime", getCreatedatetime())
            .append("creator", getCreator())
            .append("modifydatetime", getModifydatetime())
            .append("modifytor", getModifytor())
            .append("id", getId())
            .toString();
    }
}
